package com.Laboratory.service;

import com.Laboratory.pojo.user;

import java.util.List;
import java.util.Map;

/**
 * @Author acok
 * @description:user实体类接口
 * @Date 2022/12/3 15:39
 * @Version 1.0
 */
public interface userService {
    //获取姓名列表用于注册
    List<String> getAccountList();
    //登录功能：根据账号密码在数据库查询相关user，若查询到返回user实体类查询结果
    user selectUserByName(String username);
    //查询用户角色
    List<String> getRoleListByName(String username);
    //查询用户权限
    List<String> getAuthorityByName(String username);
    //前台根据姓名获取用户详情用于用户可以直接查看
    user getUserDetailByName(String username);
    //修改用户密码前校验
    int beforeUpdateUserPassword(String username,String oldPassword,String newPassword);

    //获取用户列表
    List<user> getUserList();
    //获取系统角色列表
    List<Map<String,Object>> getRoleList();
    //获取全部系统权限列表
    List<Map<String,Object>> getAuthorityList();
    //更新账户状态
    int updateAccountState( String id , String state, String type);
    //更新账户角色信息
    int updateUserRole( String id,String role);
    //根据主键销毁用户
    int deleteUserById(String id,String fromAccount,String passwordCode,String targetAccount);
    //创建账户
    int createUser(user user);
    //修改用户信息
    int updateUserMessage(user user);
}
